<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>
    @秒靈兒
    2年前 提問
    1個回答

    數據庫完整性主要作用體現在哪些方面

    趣能一姐
    2年前

    數據庫完整性主要作用體現在以下方面:

    • 實體完整性:實體完整性指表中行的完整性。主要用于保證操作的數據(記錄)非空、唯一且不重復。即實體完整性要求每個關系(表)有且僅有一個主鍵,每一個主鍵值必須唯一,而且不允許為“空”(NULL)或重復。

    • 域完整性:是指數據庫表中的列必須滿足某種特定的數據類型或約束。其中約束又包括取值范圍、精度等規定。表中的CHECK、FOREIGN KEY 約束和DEFAULT、 NOT NULL定義都屬于域完整性的范疇。

    • 參照完整性:屬于表間規則。對于永久關系的相關表,在更新、插入或刪除記錄時,如果只改其一,就會影響數據的完整性。如刪除父表的某記錄后,子表的相應記錄未刪除,致使這些記錄稱為孤立記錄。對于更新、插入或刪除表間數據的完整性,統稱為參照完整性。通常,在客觀現實中的實體之間存在一定聯系,在關系模型中實體及實體間的聯系都是以關系進行描述,因此,操作時就可能存在著關系與關系間的關聯和引用。

    • 用戶定義完整性:是對數據表中字段屬性的約束,用戶定義完整性規則(User-defined integrity)也稱域完整性規則。包括字段的值域、字段的類型和字段的有效規則(如小數位數)等約束,是由確定關系結構時所定義的字段的屬性決定的。

    • 實體規則完整性:若屬性A是基本關系R的主屬性,則屬性A不能取空值,即主屬性不可為空值。其中的空值(NULL)不是0,也不是空隔或空字符串,而是沒有值。實際上,空值是指暫時“沒有存放的值”、“不知道”或“無意義”的值。由于主鍵是實體數據(記錄)的惟一標識,若主屬性取空值,關系中就會存在不可標識(區分)的實體數據(記錄),這與實體的定義矛盾,而對于非主屬性可以取空值(NULL),因此,將此規則稱為實體完整性規則。如學籍關系(表)中主屬性“學號”(列)中不能有空值,否則無法操作調用學籍表中的數據(記錄)。

    數據庫完整性主要分為以下這些:

    • 實體完整性(Entity Integrity)。明確規定數據表的每一行在表中是唯一的實體。如表中定義的UNIQUE PRIMARYKEY和IDENTITY約束。

    • 域完整性(Domain Integrity)。指數據庫表中的列必須滿足某種特定的數據類型或約束。其中,約束又包括取值范圍、精度等規定。如表中的CHECK、FOREIGN KEY約束和DEFAULT、NOT NULL等要求。

    • 參照完整性(Referential Integrity)。是指任何兩表的主關鍵字和外關鍵字的數據要對應一致,確保表之間數據的一致性,以防止數據丟失或造成混亂。主要作用為:禁止在從表中插入包含主表中不存在的關鍵字的數據行;禁止可導致從表中的相應值孤立的主表中的外關鍵字值改變;禁止刪除在從表中的有對應記錄的主表記錄。

    • 用戶定義完整性(User-defined Integrity)。是針對某個特定關系數據庫的約束條件,可以反映某一具體應用所涉及的數據必須滿足的語義要求。SQL Server提供了定義和檢驗這類完整性的機制,以便用統一的系統方法進行處理,而不是用應用程序承擔此功能。其他完整性類型都支持用戶定義的完整性。

      亚洲 欧美 自拍 唯美 另类